home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-01
/
asmpr100.zip
/
ASMPROC.TXT
< prev
next >
Wrap
Text File
|
1993-01-06
|
20KB
|
440 lines
ASMPROC
Revision 1.00
Copyright 1993 by Gordon Haff and Bit Masons Consulting.
All rights reserved.
Freeware program.
Command: ASMPROC
Purpose: Print out procedure lists from your assembly language
sources with the line numbers on which they start and
the type of the procedure (e.g. near and far) if
given. The procedure names within a file can be
sorted in alphabetical order or left in unsorted (line
number) order. Optionally, include files can also be
processed.
Source code using Spontaneous Assembly syntax (i.e.
.proc directives) is handled automatically.
Output is to stdout so can be redirected using
standard DOS redirection to a file or printer.
Basically, the purpose is to give you a quick way of
generating a listing of all your procedures without
creating huge assembler cross-reference listings with
a lot more information than you need.
Syntax: ASMPROC filenames [/i] [/s] [/?]
Prereqs: 100% IBM Compatible PC running DOS 3.0 or higher
Archive: ASMPR100.ZIP
New Feature Summary:
This is an initial release.
┌─────────┐
┌─────┴───┐ │ (tm)
──│ │o │──────────────────
│ ┌─────┴╨──┐ │ Association of
│ │ │─┘ Shareware
└───│ o │ Professionals
──────│ ║ │────────────────────
└────╨────┘ MEMBER
ASMPROC 1.00 2
DISCLAIMER
The author hereby disclaims all warranties relating to these
products, whether express or implied, including without
limitation any implied warranties of merchantability or fitness
for a particular purpose. The author cannot and will not be
liable for any special, incidental, consequential, indirect or
similar damages due to loss of data or any other reason, even if
the author or an authorized agent has been advised of the
possibility of such damages. In no event shall the liability
for any damages ever exceed the price paid for the license to
use the software, regardless of the form and/or extent of the
claim. The user of this program bears all risk as to the
quality and performance of the software.
LICENSE
ASMPROC is distributed as free, copyrighted software. What
this means is that you can use these programs for as long as you
like without cost or obligation. What you cannot do is to sell
this software or make a profit off of it (except as described
below) without the express written permission of the author.
ASMPROC is the sole property of Gordon Haff. This program may
be freely copied and transferred to individual parties. It may
be posted on Bulletin Board systems (BBS) for electronic access
as long as NO FEE is charged for its distribution except for
private BBS operations that charge a regular user subscription
fee. Computer information services such as Compuserve (CIS),
Genie, and Byte Information Exchange (BIX) are authorized to
post this product for subscriber access. ASMPROC may be
distributed on diskette only by 1) disk distributors/vendors who
are associate members of the Association of Shareware
Professionals (ASP) or 2) users groups which do not charge more
than a nominal fee ($5) to cover the costs of distribution. Any
changes to these policies must be made in writing by the author.
This software is produced by a member of the Association of
Shareware Professionals (ASP). The ASP wants to make sure that
the shareware principle works for you. If you are unable to
resolve a shareware-related problem with an ASP member by
contacting the member directly, ASP may be able to help. The ASP
Ombudsman can help you resolve a dispute or problem with an ASP
member, but does not provide technical support for members'
products. Please write to the ASP Ombudsman at 545 Grover Rd.,
Muskegon, MI 49442-9427 or send a Compuserve message via
easyplex to ASP Ombudsman 70007,3536.
ASMPROC 1.00 3
TECHNICAL SUPPORT
Since this program is a freebie, unlike the shareware programs
for which I request a registration fee, I'm not going to make any
guarantees here with respect to bug fixes or other technical
support. Having said that, I do like my programs to be as
bug-free as possible, so feel free to report any problems which
you run across.
Contact via:
Channel 1 BBS (617) 354-8873
Compuserve User ID# 72561,2637 (See Note 1)
InterNet/ARPANET 72561.2637@compuserve.com
U.S. Mail 3205 Windsor Ridge Dr.
Westboro MA 01581
Telephone (508) 898-3321 (after 6pm
Eastern time)
The above are roughly in order of preference (i.e. how quickly
I'm likely to see your message and be able to respond). I check
Channel One almost daily and the other electronic services at
least weekly in most cases. In addition, I monitor the Interlink
and the PCRelay Shareware relays through Channel One.
Note 1:
When contacting me via Compuserve, please use the Easyplex mail
system since I do not regularly monitor any of the IBM SIG
message bases.
ASMPROC 1.00 4
1.0 Why ASMPROC?
--------------------
I write a *lot* of assembler. My Directory Freedom file
management utility (recently mentioned in PC Magazine, by the
way (*)) is something over 500K of source code spread across a
dozen or so files at this point. Being a reasonably organized
programmer, this means many, many procedures all calling each
other in various and sundry and not always terribly organized
ways. It gets HARD to keep track of all that stuff.
Now, I know you're saying "BUT... my assembler has all those
fancy listing options and yours must too. Why don't you just
use it and stop whining !?"
Well, yes. I do have a very nice assembler and lots of other
toys too from the good folks in Scotts Valley but it really
doesn't do what I want in this area. I've concluded that the
real purpose of the listing options in TASM and other compilers
is to let you generate a volume of listing ten times the
original length of your source code with little work. This
listing can then be used to convince your boss that you've
REALLY been working and not just testing out Nels Anderson's
latest game.
In other words (to be serious for just a second), the assembler
listings are usually FAR more than I want. In practice, I end
up grepping or searching a file with LIST to find what I need.
But I've often thought it would be real nice to have a simple
listing of the procedures that only took a few seconds to
generate and could be printed out without laying to waste huge
expanses of forest.
So I sat down and churned out ASMPROC (in C++, not assembler
:-)).
(*) OK, so it was the Letters column but you have to start
somewhere. [Brought to you by Shameless Plugs, Inc.]
ASMPROC 1.00 5
2.0 How does it Work?
-------------------------
The syntax is as follows:
ASMPROC filenames [/i] [/s] [/?]
Switches may be in any order. A - can be used in place of the /
for any UNIX junkies out there. Filenames may include
wildcards.
At a minimum, you have to enter one filename (including
extension). Everything else is optional.
/i
This instructs ASMPROC to process any include files. So if you
have a file called FOO.ASM which has lines such as:
INCLUDE FOOBAR.ASM
INCLUDE BLECH.ASM
FOOBAR.ASM and BLECH.ASM will be processed just as if they were
included on the command line.
/s
By default, ASMPROC displays procedures within a file in line
number order. This switch instructs ASMPROC to sort instead in
procedure order (i.e. alphabetical).
/? (or /h or even just ?)
Gives a brief help screen.
ASMPROC 1.00 6
As an example, the following command line:
ASMPROC /s /i TESTASM.ASM > SAMPLE
produced this output (in the file SAMPLE). (DFATTR.ASM was
specified as an include file within TESTASM.ASM.)
ASMPROC 1.0 by Gordon Haff. Copyright 1/93.
type ASMPROC -? for help.
testasm.asm:
init_mem 36 near
post_exec 159 near
pre_exec 72 near
dfattr.asm:
archive 28 near
attrib 83 near
chmod 7 near
getmod 17 near
hidden 54 near
read_only 41 near
system 69 near
update_attribute 160 near
The numbers are the line numbers at which the procedures
started; i.e. the line on which the PROC keyword appeared. All
the PROC's in these source code files were specified as NEAR.
The FAR and AUTO (used in Spontaneous Assembly) keywords are
also recognized for procedure types.
That's about all there is to it.
ASMPROC 1.00 7
3.0 Special Features and Limitations
------------------------------------------
ASMPROC explicitly deals with the following constructs:
o Comment blocks using the COMMENT keyword
o Spontaneous Assembly .PROC syntax
o TASM Ideal Mode INCLUDE "filename" syntax
o Standard ; (semicolon) comments
This is the part where I get to document my way out of things I
didn't feel like doing.
ASMPROC cannot handle the following:
o \ (Backslash) as a comment character. (By not handle, I
mean that the contents after the backslash would be parsed
as code rather than a comment. So a line like the
following:
mov dx,ax \ just like in proc foobar
would cause foobar to be interpreted as a procedure at this
line.
o If you specify include directories from the assembler
command-line, ASMPROC obviously has no way of knowing about
these directories and hence it won't be able to find your
include files
ASMPROC did correctly (as far as I can tell) deal with over 500K
of my Directory Freedom assembly sources. It is
case-insensitive and also generally insensitive to word ordering
in addition to explicitly dealing with the .proc keyword used by
Spontaneous Assembly. It hasn't been torture-tested with every
sort of boundary condition but, as I say, it worked for me
across quite a range of files.
If you run across other assembler styles which ASMPROC doesn't
seem to handle properly and you send me a sample, I may make the
appropriate modificatiobs. No guarantee, though, because I'm
not making any money off this and ASMPROC is, essentially, an
internal development tool.
4.0 Technical and Acknowledgments.
--------------------------------------
ASMPROC 1.00 was developed using Borland C++ 3.1 and Container
Class libraries. Some string routines that are part of the
Tesseract Development System from Innovative Data Concepts were
also used.
The hardware environment was a homebrew 386 (named Dejah Thoris)
based on an AMI 20MHz full-size motherboard with a Micropolis
662MB ESDI disk and Ultrastore 12(F) ESDI controller. It is a
dual monitor system with an Orchid Prodesigner 512KB VGA board
and an IBM MDA board. It runs DOS 5.0.
ASMPROC 1.00 8
5.0 Other Programs by Gordon Haff and Bit Masons Consulting:
-----------------------------------------------------------------
Directory Freedom (DF):
Offers users a fast, compact alternative to DOS Shells which
provides 1) selective file and directory operations; 2) a
scrollable environment for examining files and directories; 3)
user-defined keys which can operate upon highlighted files
(e.g. by defining an editor). All this in a program which
takes less than 35KB since it is written in assembler! Easily
customized through an external configuration program. A "look-
and-feel" similar to PC Mag's DR, but does much more. Now with
SmartViewers and many more exciting new features.
Shareware: $25 Registration
Latest version: 4.60 (DF460.ZIP)
the last word:
'the last word' is a quotations trivia game in which 1 to 4
players compete against each other and their own high scores in
identifying the source of quotations and completing partial
quotes. Most answers are entered free-form and are matched
against a set of acceptable responses with a sophisticated
pattern-recognition algorithm. 'the last word' runs in text
mode -- including on mono displays -- and offers a high level
of user configurability.
Shareware: $15 Registration
Latest version: 1.00 (LWORD100.ZIP)
CONVERT:
Unit conversion calculator for Windows 3.0. Comes with a data
file containing a large number of common (and not so common)
conversions in categories such as length, speed, pressure,
volume, and time. The data file is a plain ASCII text file so
the user may add or delete units to best fit his individual
needs.
Free, copyrighted software
Latest version: 1.0 (CNVRT100.ZIP)
ASMPROC 1.00 9
X-Ray Viewers:
The X-Ray Viewers provide a scrollable environment for
examining the contents of various types of archive files and
allows the user to view those contents by piping them to LIST.
In other words, you can read a text file contained within, for
example, a .ZIP file without extracting the archive. In
combination with the SmartViewer functions in DF, the X-Ray
viewers make the examination of .ZIP, .ARJ, .LZH, and .ZOO
files almost automatic (just highlight a file and press
<Enter>). "Freeware" but requires the appropriate archive
program and LIST to function.
Free, copyrighted software
Latest revision: 1.10 (XRAY110.ZIP)
Name Date (ND)
This program can be set to a user-defined function key and
will rename the highlighted file to a new name which is
derived from the current date. For example, FILENAME.TXT would
be renamed to 891015.TXT if the date were Oct 15, 1989. It
appends a letter to the base name (e.g. 891015A.TXT,
891015B.TXT, etc.) if the "dated name" already exists. I find
this very useful for handling message-base files from BBS's.
Version 2.00 adds a great deal of flexibility with
command-line switches.
Free, copyrighted software
Latest revision: 2.0;
Archive name: NAMD200.ZIP (ND200.ZIP on Compuserve)
MAKETEST:
Command-line utility to create test files. Lets you create
any number of test files with user-specified names and sizes.
Automatically can add characters to avoid duplicate names.
This is an easy way to create something like 100 zero-length
files. Handy for users or programmers who want to test a
program's capabilities.
Free, copyrighted software with QB source
Latest version: 1.0 (MKTST100.ZIP)
These programs and others (Multi-Edit macros for use with Qmail
Deluxe, for example) are available on many fine bulletin boards.
The latest releases are always available on Channel One. If you
just have to get a copy of one or more of these programs and
can't find one, however, I can send them out for a nominal media
and postage charge.
ASMPROC 1.00 10
6.0 History:
---------------
Rev. 1.00 Initial Release